1. Technical Field
The present invention relates in general to data processing systems and in particular to distributed data processing systems which permit the deferred execution of application software requests. Still more particularly, the present invention relates to a method and apparatus for controlling the deferred execution of user requests in a data processing system.
2. Description of the Related Art
Modern state-of-the-art data processing systems have become quite complex. In particular, so-called "distributed" data processing systems may include thousands of terminals, work stations or main frame computers which may be geographically distributed over thousands of miles. An advantage of such systems is the decentralization of various capabilities such that each element of the data processing system need not include all capabilities of the system.
For example, a single database server may be utilized to couple database queries to a selected database for many users, obviating any requirement to duplicate the contents of the database at multiple locations. Similarly, a centrally located library server may be utilized to store and access thousands of documents or other objects for many users within the data processing system.
The advent of distributed data processing systems in which a single server provides service for a selected application for multiple users has lead to the utilization of request deferral systems in order to avoid bottlenecks and wasted time. A user may make a request and find the server unavailable and thereafter enter the request as a deferred request. At a subsequent time when the server is available, such a deferred request will be executed.
One problem which exists in such systems is the inability of a deferred application request service to efficiently prioritize a large number of deferred requests. Typically, deferred requests are merely executed, as possible, in a first-in, first-out manner.
Thus, it should be apparent that a need exists for a method and apparatus which permits the efficient prioritization of multiple deferred requests in accordance with a user selectable set of attributes.